package com.java.second_goods.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.java.second_goods.entity.Coupon;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 优惠券Mapper接口
 */
@Mapper
public interface CouponMapper extends BaseMapper<Coupon> {

    /**
     * 查询有效的优惠券列表
     *
     * @return 优惠券列表
     */
    List<Coupon> selectValidCoupons();

    /**
     * 查询可用的优惠券列表
     *
     * @param userId 用户ID
     * @param amount 消费金额
     * @return 优惠券列表
     */
    List<Coupon> selectAvailableCoupons(@Param("userId") Integer userId, @Param("amount") BigDecimal amount);

    /**
     * 更新优惠券状态
     *
     * @param couponId 优惠券ID
     * @param status 状态
     * @return 结果
     */
    int updateCouponStatus(@Param("couponId") Integer couponId, @Param("status") Integer status);
}